// pages/login/login.js
Page({
	data: {
		checked: false,
		show: false, // 控制弹窗显示/隐藏
	},
	handleLogin() {
		if (!this.data.checked) {
			this.setData({
				show: true
			}); // 显示弹窗
			return; // 阻止后续登录逻辑
		}
		this.doLogin();
	},
	confirmAgreement() {
		this.setData({
			show: false,
			checked: true
		}); // 关闭弹窗并设置同意状态
		this.doLogin(); //用户同意后调用登录
	},
	onCheckChange(event) {
		this.setData({
			checked: event.detail,
		});
	},
	openAgreement() {
		wx.navigateTo({
			url: '/pages/agreement/agreement', // 替换为你的用户协议页面路径
		});
	},

	openPrivacy() {
		wx.navigateTo({
			url: '/pages/privacy/privacy', // 替换为你的隐私政策页面路径
		});
	},
	handleCancel() {
		wx.navigateBack(); // 返回上一页
	},

	// 执行登录逻辑
	doLogin() {
		// 1. 调用 wx.login 获取 code
		wx.login({
			success: (res) => {
				if (res.code) {
					console.log("获取 code 成功:", res.code);
					// 2. 向服务器发送请求
					this.sendLoginRequest(res.code);
				} else {
					console.error("获取 code 失败:", res.errMsg);
					wx.showToast({
						title: "登录失败，请重试",
						icon: "none",
					});
				}
			},
			fail: (err) => {
				console.error("wx.login 调用失败:", err);
				wx.showToast({
					title: "登录失败，请重试",
					icon: "none",
				});
			},
		});
	},

	// 向服务器发送登录请求
	sendLoginRequest(code) {
		wx.request({
			url: "http://localhost:8080/user/user/login", // 服务器地址
			method: "POST", // 请求方法
			data: {
				code: code, // 将 code 发送给服务器
			},
			success: (res) => {
				if (res.statusCode === 200) {
					console.log("登录成功:", res.data);
					// 处理登录成功逻辑
					wx.showToast({
						title: "登录成功",
						icon: "success",
					});
					// 保存用户信息或跳转到其他页面
					this.saveUserInfo(res.data);
				} else {
					console.error("登录失败:", res.data);
					wx.showToast({
						title: "登录失败，请重试",
						icon: "none",
					});
				}
			},
			fail: (err) => {
				console.error("请求失败:", err);
				wx.showToast({
					title: "网络错误，请重试",
					icon: "none",
				});
			},
		});
	},
	// 保存用户信息
	saveUserInfo(userInfo) {
		// 1. 将用户信息保存到本地存储
		wx.setStorageSync("userInfo", userInfo);

		// 2. 设置登录状态为 true
		wx.setStorageSync("isLogin", true);

		// 3. 根据 isFirst 字段判断是否需要跳转到完善信息页面
		if (userInfo.data.isFirst === "1") {
			// 如果是首次登录，跳转到完善信息页面
			console.log("完善信息")
			wx.navigateTo({
				url: "/pages/complete-info/complete-info",
			});
		} else {
			// 如果不是首次登录，跳转到 mine 页面
			wx.switchTab({
				url: "/pages/mine/mine",
			});
		}
	},
})